package com.frejoys.common.vo.order;

import com.frejoys.common.vo.app.GoodsNameAndCoverVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

@Data
public class StoreOrderListVo {

    @Schema(type = "Integer", name = "id", description = "订单id")
    private Integer id;

    @Schema(type = "Integer", name = "storeId", description = "店铺id")
    private Integer storeId;

    @Schema(type = "String", name = "storeName", description = "店铺名字")
    private String storeName;

    @Schema(type = "String", name = "logoUrl", description = "logo")
    private String logoUrl;

    @Schema(type = "Long", name = "userId", description = "用户id")
    private Long userId;

    @Schema(type = "Integer", name = "storeActivityId", description = "活动id")
    private Integer storeActivityId;

    @Schema(type = "String", name = "nickname", description = "昵称")
    private String nickname;

    @Schema(type = "Long", name = "orderSn", description = "订单编号")
    private Long orderSn;

    @Schema(type = "BigDecimal", name = "price", description = "订单金额")
    private BigDecimal price;

    @Schema(type = "Integer", name = "payType", description = "支付类型：1微信支付")
    private Integer payType;

    @Schema(type = "Integer", name = "payStatus", description = "支付状态：0待支付，1已支付，2.退款中，3已退款")
    private Integer payStatus;

    @Schema(type = "Integer", name = "payTime", description = "支付时间")
    private Integer payTime;

    @Schema(type = "Integer", name = "receive", description = "订单状态：0待收货，1已收货")
    private Integer receive;

    @Schema(type = "Integer", name = "verify", description = "核销状态：0待核销，1已核销")
    private Integer verify;

    @Schema(type = "Integer", name = "verifyTime", description = "核销时间")
    private Integer verifyTime;

    @Schema(type = "Integer", name = "isScore", description = "转换积分：0待转换，1已转换")
    private Integer isScore;

    @Schema(type = "String", name = "qrCode", description = "核销码")
    private String qrCode;

    @Schema(type = "Integer", name = "type", description = "类型：1实物订单，2线上下单虚拟订单，3线下虚拟订单")
    private Integer type;

    @Schema(type = "Integer", name = "createTime", description = "创建时间")
    private Integer createTime;

    @Schema(type = "BigDecimal", name = "storeMoney", description = "店铺收益金额")
    private BigDecimal storeMoney;

//    @Schema(type = "BigDecimal", name = "storeMoneyAll", description = "店铺收益总金额")
//    private BigDecimal storeMoneyAll;
//
//    @Schema(type = "BigDecimal", name = "storeMoney", description = "活动当前金额")
//    private BigDecimal activityMoney;
//
//    @Schema(type = "Integer", name = "orderNum", description = "订单数量")
//    private Integer orderNum;

    @Schema(type = "Integer", name = "nowSort", description = "当前排队位置", required = true, defaultValue = "1")
    private Integer nowSort;

    @Schema(type = "List<GoodsNameAndCoverVo>", name = "goodsListVos", description = "商品信息")
    private List<GoodsNameAndCoverVo> goodsNameAndCoverVos;

}
